---
id: 303
title: RabbitMQProducer
---


import useBaseUrl from "@docusaurus/useBaseUrl";
import Tag from "@site/src/components/Tag.js";
import Highlight from '@site/src/components/Highlight.js';

:::tip `提示`

通过自定义脚本，可快速适配业务模型

:::

## 一、说明

RabbitMQProducer适配RabbitMQ协议，主动发布内容到服务端，可以定时/变化发布数据

通道只支持 Other 

## 二、插件属性配置项

<img src={require("@site/static/img/docs/RabbitMQProducer1.png").default} />

| 属性           |  说明                    | 备注|
| ---------------| --------------------------| ---|
| IP         | ServerIP,为空时指任意IP              | |
| 端口         | 连接端口              | |
| 账号         | 账号             |  |
| 密码         | 密码              |  |
| 详细日志         | Flase=>日志输出上传数量，True=>日志输出上传内容             | False |
| 是否声明队列         | 初始化时是否自动创建队列              |  |
| 虚拟Host         | /              |  |
| 交换机名称         | 交换机名称              |  |
| 分组上传         | 启用后，无论是定时还是变化模式，始终会上传**变量分组属性**为key分组的全部变量 。在变化模式时，每次变量变化都会触发一次组上传            | False |
| 选择全部变量         | 选择全部变量             | False |
| 设备状态列表上传         | 设备是否列表上传，false时每个设备实体都会单独发布，注意性能需求，默认为true             |  |
| 变量列表上传         | 变量是否列表上传，false时每个变量实体都会单独发布，注意性能需求，默认为true             |  |
| 报警列表上传         | 报警是否列表上传，false时每个报警实体都会单独发布，注意性能需求，默认为true             |  |
| 设备Topic         | 设备实体的发布主题 ，使用``${key}``作为匹配项，key必须是上传实体中的属性            |  |
| 变量Topic         | 变量实体的发布主题 ，使用``${key}``作为匹配项，key必须是上传实体中的属性            |  |
| 报警Topic         | 报警实体的发布主题 ，使用``${key}``作为匹配项，key必须是上传实体中的属性            |  |
| 设备实体脚本         | 脚本返回新的实体列表，动态类中需继承**IDynamicModel**，传入列表为**DeviceData**,查看以下具体属性            | 编辑页面中，可通过检查按钮验证脚本 |
| 变量实体脚本         | 脚本返回新的实体列表，动态类中需继承**IDynamicModel**，传入列表为**VariableBasicData**,查看以下具体属性            | 编辑页面中，可通过检查按钮验证脚本 |
| 报警实体脚本         | 脚本返回新的实体列表，动态类中需继承**IDynamicModel**，传入列表为**AlarmVariable**,查看以下具体属性            | 编辑页面中，可通过检查按钮验证脚本 |
| 选择全部变量         | 是否选择全部变量，true时不需要单个变量添加业务属性            |  |
| 上传模式         | 间隔/变化/变化和间隔同时生效            |  |
| 定时上传间隔         | 间隔执行时间           |  |
| 启用缓存         | 是否启用缓存           |  |
| 缓存文件最大长度(mb)         | 缓存文件最大长度           |  |
| 上传每页条数         | 每一次上传的列表最大数量           |  |
| 内存队列最大数量         | 内存队列的最大数量，超出或失败时转入文件缓存，根据数据量设定适当值           |  |

## 三、脚本与实体

查看MqttClient页面[脚本接口](./MqttClient.mdx#脚本接口) 

